Referrer-Policy header
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
* Some parts of this feature may have varying levels of support.
Der HTTP Referrer-Policy
Response-Header steuert, wie viele Referrer-Informationen (gesendet mit dem Referer
-Header) mit Anfragen enthalten sein sollten.
Neben dem HTTP-Header können Sie diese Richtlinie in HTML festlegen.
Header-Typ | Response-Header |
---|---|
Verbotener Request-Header | Nein |
Syntax
Referrer-Policy: no-referrer
Referrer-Policy: no-referrer-when-downgrade
Referrer-Policy: origin
Referrer-Policy: origin-when-cross-origin
Referrer-Policy: same-origin
Referrer-Policy: strict-origin
Referrer-Policy: strict-origin-when-cross-origin
Referrer-Policy: unsafe-url
Hinweis:
Der Header-Name Referer
ist ein Tippfehler des Wortes "referrer". Der Referrer-Policy
Header enthält diesen Tippfehler nicht.
Direktiven
no-referrer
-
Der
Referer
-Header wird weggelassen: gesendete Anfragen enthalten keine Referrer-Informationen. no-referrer-when-downgrade
-
Senden Sie den origin, Pfad und die Abfragezeichenfolge im
Referer
, wenn das Protokoll-Sicherheitsniveau gleich bleibt oder sich verbessert (HTTP→HTTP, HTTP→HTTPS, HTTPS→HTTPS). Senden Sie denReferer
-Header nicht bei Anfragen an weniger sichere Ziele (HTTPS→HTTP, HTTPS→file). origin
-
Senden Sie nur den origin im
Referer
-Header. Zum Beispiel wird ein Dokument unterhttps://example.com/page.html
den Referrerhttps://example.com/
senden. origin-when-cross-origin
-
Bei Anfragen mit same-origin an dasselbe Protokollniveau (HTTP→HTTP, HTTPS→HTTPS) senden Sie den origin, Pfad und die Abfragezeichenfolge. Senden Sie nur den origin für Cross-Origin-Anfragen und Anfragen an weniger sichere Ziele (HTTPS→HTTP).
same-origin
-
Senden Sie den origin, Pfad und die Abfragezeichenfolge für same-origin Anfragen. Senden Sie den
Referer
-Header nicht bei Cross-Origin-Anfragen. strict-origin
-
Senden Sie nur den origin, wenn das Protokoll-Sicherheitsniveau gleich bleibt (HTTPS→HTTPS). Senden Sie den
Referer
-Header nicht an weniger sichere Ziele (HTTPS→HTTP). strict-origin-when-cross-origin
(Standard)-
Senden Sie den origin, Pfad und die Abfragezeichenfolge bei einer same-origin Anfrage. Für Cross-Origin-Anfragen senden Sie den origin (nur), wenn das Protokoll-Sicherheitsniveau gleich bleibt (HTTPS→HTTPS). Senden Sie den
Referer
-Header nicht an weniger sichere Ziele (HTTPS→HTTP).Hinweis: Dies ist die Standardrichtlinie, wenn keine Richtlinie angegeben ist oder wenn der angegebene Wert ungültig ist (siehe Spezifikationsüberarbeitung November 2020). Zuvor war der Standard
no-referrer-when-downgrade
. unsafe-url
-
Senden Sie den origin, Pfad und die Abfragezeichenfolge bei jeder Anfrage, unabhängig von der Sicherheit.
Warnung: Diese Richtlinie wird möglicherweise private Informationen von HTTPS-Ressourcen-URLs an unsichere Ursprünge weitergeben. Überlegen Sie sich die Auswirkungen dieser Einstellung sorgfältig.
Integration mit HTML
Sie können Referrer-Richtlinien auch innerhalb von HTML festlegen. Zum Beispiel können Sie die Referrer-Richtlinie für das gesamte Dokument mit einem <meta>
-Element mit einem name von referrer
festlegen:
<meta name="referrer" content="origin" />
Sie können das Attribut referrerpolicy
auf <a>
, <area>
, <img>
, <iframe>
, <script>
oder <link>
-Elementen angeben, um Referrer-Richtlinien für einzelne Anfragen festzulegen:
<a href="http://example.com" referrerpolicy="origin">…</a>
Alternativ können Sie eine noreferrer
Linkrelation auf a
, area
oder link
-Elementen festlegen:
<a href="http://example.com" rel="noreferrer">…</a>
Warnung:
Wie oben gezeigt, wird die noreferrer
-Linkrelation ohne Bindestrich geschrieben. Wenn Sie die Referrer-Richtlinie für das gesamte Dokument mit einem <meta>
-Element festlegen, sollte sie mit einem Bindestrich geschrieben werden: <meta name="referrer" content="no-referrer">
.
Integration mit CSS
CSS kann Ressourcen aus Stylesheets abrufen. Diese Ressourcen folgen ebenfalls einer Referrer-Richtlinie:
- Externe CSS-Stylesheets verwenden die Standardrichtung (
strict-origin-when-cross-origin
), es sei denn, sie wird durch einenReferrer-Policy
-HTTP-Header in der Antwort des CSS-Stylesheets überschrieben. - Für
<style>
-Elemente oderstyle
-Attribute wird die Referrer-Richtlinie des Eigentümerdokuments verwendet.
Beispiele
no-referrer
Aus Dokument | Navigation zu | Verwendeter Referrer |
---|---|---|
https://example.com/page |
überall | (kein Referrer) |
no-referrer-when-downgrade
Aus Dokument | Navigation zu | Verwendeter Referrer |
---|---|---|
https://example.com/page |
https://example.com/otherpage |
https://example.com/page |
https://example.com/page |
https://mozilla.org |
https://example.com/page |
https://example.com/page |
http://example.com | (kein Referrer) |
http://example.com/page | überall | http://example.com/page |
origin
Aus Dokument | Navigation zu | Verwendeter Referrer |
---|---|---|
https://example.com/page |
überall | https://example.com/ |
origin-when-cross-origin
Aus Dokument | Navigation zu | Verwendeter Referrer |
---|---|---|
https://example.com/page |
https://example.com/otherpage |
https://example.com/page |
https://example.com/page |
https://mozilla.org |
https://example.com/ |
https://example.com/page |
http://example.com/page | https://example.com/ |
same-origin
Aus Dokument | Navigation zu | Verwendeter Referrer |
---|---|---|
https://example.com/page |
https://example.com/otherpage |
https://example.com/page |
https://example.com/page |
https://mozilla.org |
(kein Referrer) |
strict-origin
Aus Dokument | Navigation zu | Verwendeter Referrer |
---|---|---|
https://example.com/page |
https://mozilla.org |
https://example.com/ |
https://example.com/page |
http://example.com | (kein Referrer) |
http://example.com/page | überall | http://example.com/ |
strict-origin-when-cross-origin
Aus Dokument | Navigation zu | Verwendeter Referrer |
---|---|---|
https://example.com/page |
https://example.com/otherpage |
https://example.com/page |
https://example.com/page |
https://mozilla.org |
https://example.com/ |
https://example.com/page |
http://example.com | (kein Referrer) |
unsafe-url
Aus Dokument | Navigation zu | Verwendeter Referrer |
---|---|---|
https://example.com/page?q=123 |
überall | https://example.com/page?q=123 |
Festlegen einer Rückfallrichtlinie
Wenn Sie eine Rückfallrichtlinie definieren möchten, falls die gewünschte Richtlinie nicht über ausreichende Browserunterstützung verfügt, verwenden Sie eine durch Kommas getrennte Liste, wobei die gewünschte Richtlinie zuletzt angegeben wird:
Referrer-Policy: no-referrer, strict-origin-when-cross-origin
In dem obigen Szenario wird no-referrer
nur verwendet, wenn der Browser die strict-origin-when-cross-origin
-Richtlinie nicht unterstützt.
Hinweis:
Die Angabe mehrerer Werte wird nur im Referrer-Policy
HTTP-Header unterstützt, nicht im referrerpolicy
-Attribut.
Browser-spezifische Präferenzen/Einstellungen
Firefox Einstellungen
Sie können die Standard Referrer-Richtlinie in den Firefox-Einstellungen konfigurieren. Die Präferenznamen sind versionsspezifisch:
- Firefox Version 59 und später:
network.http.referer.defaultPolicy
(undnetwork.http.referer.defaultPolicy.pbmode
für private Netzwerke) - Firefox Versionen 53 bis 58:
network.http.referer.userControlPolicy
Alle diese Einstellungen verwenden die gleichen Werte: 0 = no-referrer
, 1 = same-origin
, 2 = strict-origin-when-cross-origin
, 3 = no-referrer-when-downgrade
.
Spezifikationen
Specification |
---|
Referrer Policy # referrer-policy-header |